/**
 *  版权所有 Copyright@2016年1月29日
 */
package com.fairy.core.util;

import java.util.Random;
import java.util.UUID;

/**
 * [UUIDUtils.java]
 *
 * @ProjectName: [dubbo_core]
 * @Author: [waysun]
 * @CreateDate: [2016年1月29日 上午11:40:53]
 * @Update: [说明本次修改内容] BY [waysun] [2016年1月29日 上午11:40:53]
 * @Version: [v1.0]
 */

public class UUIDUtil {
	private static final String numberChar = "0123456789abcdefghijklmnopqrstuvwxyz";
	/** 
     * 获得一个UUID 
     * @return String UUID 
     */ 
    public static String getUUID()
    { 
        String s = UUID.randomUUID().toString(); 
        //去掉"-"符号 
        return s.substring(0,8)+s.substring(9,13)+s.substring(14,18)+s.substring(19,23)+s.substring(24)+getRandom(4); 
    } 
    /** 
     * 获得指定数目的UUID 
     * @param number int 需要获得的UUID数量 
     * @return String[] UUID数组 
     */ 
    public static String[] getUUID(int number){ 
        if(number < 1){ 
            return null; 
        } 
        String[] ss = new String[number]; 
        for(int i=0;i<number;i++){ 
            ss[i] = getUUID(); 
        } 
        return ss; 
    } 
	 /**
	  * 根据系统时间获得指定位数的随机数
	  * @return 获得的随机数
	  */
	 public static String getRandom(int length) 
	 {
		  Long seed = System.currentTimeMillis();// 获得系统时间，作为生成随机数的种子
		  StringBuffer sb = new StringBuffer();// 装载生成的随机数
		  Random random = new Random(seed);// 调用种子生成随机数
		  for (int i = 0; i < length; i++) 
		  {
		      sb.append(numberChar.charAt(random.nextInt(numberChar.length())));
		  }
		  return sb.toString();
	 }
}



